package org.example.servlet_01.ServeletContexListener;

import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletContextEvent;
import jakarta.servlet.ServletContextListener;
/*
   ServletContext：
    概念：代表一个Web应用程序的上下文，可以存储和获取应用程序的数据
    举例：存储和获取应用的名称，ServletContext中的属性值
        @何时创建：服务器启动时创建，为每一个Web项目创建一个单独的ServletContext对象
        @何时销毁：服务器关闭时，或者项目从服务器中移除时

    获取对象：ServletContext getServletContext()
    存储数据：
        存：void setAttribute(String key,Object value)
        取：Object getAttribute(String key)

    作用范围：
        整个Web应用的范围(多个浏览器访问同一个Web应用的同一个ServletContext)
 */

public class MyServletContextListener implements ServletContextListener {
    public void contextInitialized(ServletContextEvent event) {
        ServletContext context = event.getServletContext();
        context.setAttribute("counter", 0);
    }

    public void contextDestroyed(ServletContextEvent event) {
        // Web应用程序关闭时的操作
    }
}
